package com.wicket.okrframework.integration;

import com.wicket.okrframework.common.ro.OkrResult;
import com.wicket.okrframework.integration.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@FeignClient("framework")
public interface FwBaseOrgClient {
    /**
   * D1-3查询部门树状结构列表	
   */
    @PostMapping("/base/org/queryDeptTreeList")
    public OkrResult<QueryDeptTreeListRespDto> queryDeptTreeList(QueryDeptTreeListReqDto reqDTO);

    /**
   * D1-3新增部门
   */
    @PostMapping("/base/org/addDept")
    public OkrResult<AddDeptRespDto> addDept(AddDeptReqDto reqDTO);

    /**
   * D1-2查一级部门详情(边界)
   */
    @PostMapping("/base/org/queryOneLevelDeptDetailBorder")
    public OkrResult<QueryOneLevelDeptDetailBorderRespDto> queryOneLevelDeptDetailBorder(QueryOneLevelDeptDetailBorderReqDto reqDTO);

    /**
   * D1-3修改组织
   */
    @PostMapping("/base/org/updateOrg")
    public OkrResult<UpdateOrgRespDto> updateOrg(UpdateOrgReqDto reqDTO);

    /**
   * D1-3删除部门
   */
    @PostMapping("/base/org/deleteDept")
    public OkrResult<DeleteDeptRespDto> deleteDept(DeleteDeptReqDto reqDTO);

    /**
   * D1-2查中基层部门详情(边界)
   */
    @PostMapping("/base/org/queryMidBaseCourseDetailBorder")
    public OkrResult<QueryMidBaseCourseDetailBorderRespDto> queryMidBaseCourseDetailBorder(QueryMidBaseCourseDetailBorderReqDto reqDTO);

    /**
   * D1-3查询部门树状结构列表（管理）
   */
    @PostMapping("/base/org/queryMgtDeptTreeList")
    public OkrResult<QueryMgtDeptTreeListRespDto> queryMgtDeptTreeList(QueryMgtDeptTreeListReqDto reqDTO);

    /**
   * D1-3批量查询组织列表
   */
    @PostMapping("/base/org/batchQueryOrgListBorder")
    public OkrResult<BatchQueryOrgListBorderRespDto> batchQueryOrgListBorder(BatchQueryOrgListBorderReqDto reqDTO);

    /**
     * D1-3查询组织详情
     */
    @PostMapping("/base/org/queryOrgDetail")
    public OkrResult<QueryOrgDetailRespDto> queryOrgDetail(QueryOrgDetailReqDto reqDTO);

    /**
   * D1-3查询树状结构下级部门列表（边界）
   */
    @PostMapping("/base/org/querySubordinateDeptTreeList")
    public OkrResult<QuerySubordinateDeptTreeListRespDto> querySubordinateDeptTreeList(QuerySubordinateDeptTreeListReqDto reqDTO);

    /**
   * D1-3查询组织列表
   */
    @PostMapping("/base/org/queryOrgList")
    public OkrResult<QueryOrgListRespDto> queryOrgList(QueryOrgListReqDto reqDTO);

    /**
   * D1-3存档部门
   */
    @PostMapping("/base/org/archiveDept")
    public OkrResult<ArchiveDeptRespDto> archiveDept(ArchiveDeptReqDto reqDTO);

    /**
     * D1-3查询部门列表
     */
    @PostMapping("/base/org/queryDeptList")
    public OkrResult<QueryDeptListRespDto> queryDeptList(QueryDeptListReqDto reqDTO);

    /**
   * D1-3修改部门
   */
    @PostMapping("/base/org/updateDept")
    public OkrResult<UpdateDeptRespDto> updateDept(UpdateDeptReqDto reqDTO);

    /**
   * D1-3查询部门详情
   */
    @PostMapping("/base/org/queryDeptDetail")
    public OkrResult<QueryDeptDetailRespDto> queryDeptDetail(QueryDeptDetailReqDto reqDTO);

    /**
   * D1-3查部门列表(公共)
   */
    @PostMapping("/base/org/queryDeptListCom")
    public OkrResult<QueryDeptListComRespDto> queryDeptListCom(QueryDeptListComReqDto reqDTO);
/**
   * D1-3判断管理模式权限(管理)
   */
    @PostMapping("/base/org/judgeMgtPower")
    public OkrResult<JudgeMgtPowerRespDto> judgeMgtPower(JudgeMgtPowerReqDto reqDTO);
/**
   * D1-3判断进入部门管理模式权限(管理)
   */
    @PostMapping("/base/org/judgeEnterDeptMgtPower")
    public OkrResult<JudgeEnterDeptMgtPowerRespDto> judgeEnterDeptMgtPower(JudgeEnterDeptMgtPowerReqDto reqDTO);
/**
   * D1-3查询组织详情(公共)
   */
    @PostMapping("/base/org/queryOrgDetailCom")
    public OkrResult<QueryOrgDetailComRespDto> queryOrgDetailCom(QueryOrgDetailComReqDto reqDTO);
/**
   * D1-3查询最高组织详情
   */
    @PostMapping("/base/org/querySupremeOrgDetail")
    public OkrResult<QuerySupremeOrgDetailRespDto> querySupremeOrgDetail(QuerySupremeOrgDetailReqDto reqDTO);
/**
   * D1-3批量查部门(公共)(边界)
   */
    @PostMapping("/base/org/batchQueryDeptComBorder")
    public OkrResult<BatchQueryDeptComBorderRespDto> batchQueryDeptComBorder(BatchQueryDeptComBorderReqDto reqDTO);
/**
   * D1-3更新组织管理检查项状态等
   */
    @PostMapping("/base/org/refreshOrgMgtCheckItemEtc")
    public OkrResult<RefreshOrgMgtCheckItemEtcRespDto> refreshOrgMgtCheckItemEtc(RefreshOrgMgtCheckItemEtcReqDto reqDTO);
/**
   * D1-3查询直属一级部门(公共)
   */
    @PostMapping("/base/org/queryDirectlyUnderOneLevelDeptDetailCom")
    public OkrResult<QueryDirectlyUnderOneLevelDeptDetailComRespDto> queryDirectlyUnderOneLevelDeptDetailCom(QueryDirectlyUnderOneLevelDeptDetailComReqDto reqDTO);
/**
   * D1-3批量查询部门列表	
   */
    @PostMapping("/base/org/batchQueryDeptList")
    public OkrResult<BatchQueryDeptListRespDto> batchQueryDeptList(BatchQueryDeptListReqDto reqDTO);
/**
   * D1-3查询部门详情(公共)(边界)
   */
    @PostMapping("/base/org/queryDeptDetailComBorder")
    public OkrResult<QueryDeptDetailComBorderRespDto> queryDeptDetailComBorder(QueryDeptDetailComBorderReqDto reqDTO);
/**
   * D1查询一级部门权限管理入口
   */
    @PostMapping("/base/org/queryFirstDeptPowerManagePortalDetail")
    public OkrResult<QueryFirstDeptPowerManagePortalDetailRespDto> queryFirstDeptPowerManagePortalDetail(QueryFirstDeptPowerManagePortalDetailReqDto reqDTO);
/**
   * D1-3修改组织当前管理对象类型等
   */
    @PostMapping("/base/org/updateOrgPresentMgtObjType")
    public OkrResult<UpdateOrgPresentMgtObjTypeRespDto> updateOrgPresentMgtObjType(UpdateOrgPresentMgtObjTypeReqDto reqDTO);
/**
   * D1-3更新组织成员检查项状态等(公共)
   */
    @PostMapping("/base/org/refreshOrgMemberCheckItemEtcCom")
    public OkrResult<RefreshOrgMemberCheckItemEtcComRespDto> refreshOrgMemberCheckItemEtcCom(RefreshOrgMemberCheckItemEtcComReqDto reqDTO);
/**
   * D1计算部门层级加一(公共)
   */
    @PostMapping("/base/org/calculateDeptLevelPlusOneCom")
    public OkrResult<CalculateDeptLevelPlusOneComRespDto> calculateDeptLevelPlusOneCom(CalculateDeptLevelPlusOneComReqDto reqDTO);
/**
   * D1-3判断新增部门操作可用(公共)
   */
    @PostMapping("/base/org/judgeAddDeptUsableCom")
    public OkrResult<JudgeAddDeptUsableComRespDto> judgeAddDeptUsableCom(JudgeAddDeptUsableComReqDto reqDTO);
/**
   * D1-3判断修改部门操作可用(公共)
   */
    @PostMapping("/base/org/judgeUpdateUsableCom")
    public OkrResult<JudgeUpdateUsableComRespDto> judgeUpdateUsableCom(JudgeUpdateUsableComReqDto reqDTO);
/**
   * D1-3查询下级部门树状结构(公共)(边界)
   */
    @PostMapping("/base/org/querySubordinateDeptTreeListComBorder")
    public OkrResult<QuerySubordinateDeptTreeListComBorderRespDto> querySubordinateDeptTreeListComBorder(QuerySubordinateDeptTreeListComBorderReqDto reqDTO);
/**
   * D1-3查询下级直属部门列表
   */
    @PostMapping("/base/org/querySubordinateDirectlyDeptList")
    public OkrResult<QuerySubordinateDirectlyDeptListRespDto> querySubordinateDirectlyDeptList(QuerySubordinateDirectlyDeptListReqDto reqDTO);
/**
   * D1-3查询部门设置详情(管理)
   */
    @PostMapping("/base/org/queryDeptSetDetail")
    public OkrResult<QueryDeptSetDetailRespDto> queryDeptSetDetail(QueryDeptSetDetailReqDto reqDTO);
/**
   * D1-3查询部门边界(公共)
   */
    @PostMapping("/base/org/queryDeptBorderDetailCom")
    public OkrResult<QueryDeptBorderDetailComRespDto> queryDeptBorderDetailCom(QueryDeptBorderDetailComReqDto reqDTO);
/**
   * D1-3批量查询责任主体部门
   */
    @PostMapping("/base/org/batchQueryDutyBodyDept")
    public OkrResult<BatchQueryDutyBodyDeptRespDto> batchQueryDutyBodyDept(BatchQueryDutyBodyDeptReqDto reqDTO);
/**
   * D1-3类型字典查部门树状结构列表
   */
    @PostMapping("/base/org/queryTypeFieldQueryDeptTreeTreeList")
    public OkrResult<QueryTypeFieldQueryDeptTreeTreeListRespDto> queryTypeFieldQueryDeptTreeTreeList(QueryTypeFieldQueryDeptTreeTreeListReqDto reqDTO);
/**
   * D1-3部门ID查直属部门列表
   */
    @PostMapping("/base/org/querySuperiorDeptDirectlyDeptList")
    public OkrResult<QuerySuperiorDeptDirectlyDeptListRespDto> querySuperiorDeptDirectlyDeptList(QuerySuperiorDeptDirectlyDeptListReqDto reqDTO);
/**
   * D1-3类型字典查直属部门列表
   */
    @PostMapping("/base/org/queryTypeFieldDirectlyDeptList")
    public OkrResult<QueryTypeFieldDirectlyDeptListRespDto> queryTypeFieldDirectlyDeptList(QueryTypeFieldDirectlyDeptListReqDto reqDTO);
/**
   * D1-3部门ID查部门树状结构
   */
    @PostMapping("/base/org/querySuperiorDeptQueryDeptTreeTreeList")
    public OkrResult<QuerySuperiorDeptQueryDeptTreeTreeListRespDto> querySuperiorDeptQueryDeptTreeTreeList(QuerySuperiorDeptQueryDeptTreeTreeListReqDto reqDTO);
/**
   * D1-3查询下级直属部门详情(公共)
   */
    @PostMapping("/base/org/querySubordinateDirectlyDeptDetailCom")
    public OkrResult<QuerySubordinateDirectlyDeptDetailComRespDto> querySubordinateDirectlyDeptDetailCom(QuerySubordinateDirectlyDeptDetailComReqDto reqDTO);
/**
   * D1判断组织架构维护状态
   */
    @PostMapping("/base/org/judgeOrgMaintenanceStatus")
    public OkrResult<JudgeOrgMaintenanceStatusRespDto> judgeOrgMaintenanceStatus(JudgeOrgMaintenanceStatusReqDto reqDTO);
/**
   * D1-3执行一级部门判断(公共)
   */
    @PostMapping("/base/org/implementFirstDeptJudgeCom")
    public OkrResult<ImplementFirstDeptJudgeComRespDto> implementFirstDeptJudgeCom(ImplementFirstDeptJudgeComReqDto reqDTO);
/**
   * D1查询组织列表(公共)
   */
    @PostMapping("/base/org/queryOrgListCom")
    public OkrResult<QueryOrgListComRespDto> queryOrgListCom(QueryOrgListComReqDto reqDTO);
/**
   * D1-2查询部门归属部门类型(公共)
   */
    @PostMapping("/base/org/queryDeptAffiliationDeptTypeDetailCom")
    public OkrResult<QueryDeptAffiliationDeptTypeDetailComRespDto> queryDeptAffiliationDeptTypeDetailCom(QueryDeptAffiliationDeptTypeDetailComReqDto reqDTO);
/**
   * D1执行找祖先部门(公共)
   */
    @PostMapping("/base/org/implementAncestorDeptCom")
    public OkrResult<ImplementAncestorDeptComRespDto> implementAncestorDeptCom(ImplementAncestorDeptComReqDto reqDTO);
/**
   * D1查询下级部门列表(公共)
   */
    @PostMapping("/base/org/querySubordinateDeptListCom")
    public OkrResult<QuerySubordinateDeptListComRespDto> querySubordinateDeptListCom(QuerySubordinateDeptListComReqDto reqDTO);
/**
   * D1-查询最高组织详情(公共)
   */
    @PostMapping("/base/org/querySupremeOrgDetailCom")
    public OkrResult<QuerySupremeOrgDetailComRespDto> querySupremeOrgDetailCom(QuerySupremeOrgDetailComReqDto reqDTO);
/**
   * D1执行分析下属部门情况(公共)
   */
    @PostMapping("/base/org/implementAnalyseSubordinateDeptSituationCom")
    public OkrResult<ImplementAnalyseSubordinateDeptSituationComRespDto> implementAnalyseSubordinateDeptSituationCom(ImplementAnalyseSubordinateDeptSituationComReqDto reqDTO);
/**
   * D1查询组织下部门列表(公共)
   */
    @PostMapping("/base/org/queryOrgBelowDeptListCom")
    public OkrResult<QueryOrgBelowDeptListComRespDto> queryOrgBelowDeptListCom(QueryOrgBelowDeptListComReqDto reqDTO);
/**
   * D1-执行获取组织架构系统对接部门信息(公共)
   */
    @PostMapping("/base/org/implementObtainDockingDeptInfoCom")
    public OkrResult<ImplementObtainDockingDeptInfoComRespDto> implementObtainDockingDeptInfoCom(ImplementObtainDockingDeptInfoComReqDto reqDTO);
/**
   * D1-执行获取组织架构系统对接员工信息(公共)
   */
    @PostMapping("/base/org/implementObtainDockingPersonInfoCom")
    public OkrResult<ImplementObtainDockingPersonInfoComRespDto> implementObtainDockingPersonInfoCom(ImplementObtainDockingPersonInfoComReqDto reqDTO);
/**
   * D1-循环处理部门源数据(公共)
   */
    @PostMapping("/base/org/implementLoopHandleDeptSourceDataCom")
    public OkrResult<ImplementLoopHandleDeptSourceDataComRespDto> implementLoopHandleDeptSourceDataCom(ImplementLoopHandleDeptSourceDataComReqDto reqDTO);
/**
   * D1-执行组织架构API对接部门信息(公共)
   */
    @PostMapping("/base/org/implementOrgImportDeptDataByApiCom")
    public OkrResult<ImplementOrgImportDeptDataByApiComRespDto> implementOrgImportDeptDataByApiCom(ImplementOrgImportDeptDataByApiComReqDto reqDTO);
/**
   * D1-执行组织架构API对接部门信息
   */
    @PostMapping("/base/org/implementOrgImportDeptDataByApi")
    public OkrResult<ImplementOrgImportDeptDataByApiRespDto> implementOrgImportDeptDataByApi(ImplementOrgImportDeptDataByApiReqDto reqDTO);
/**
   * D1-执行组织架构API对接员工信息
   */
    @PostMapping("/base/org/implementApiDockingPersonInfo")
    public OkrResult<ImplementApiDockingPersonInfoRespDto> implementApiDockingPersonInfo(ImplementApiDockingPersonInfoReqDto reqDTO);
/**
   * D1执行清除部门主管(公共)
   */
    @PostMapping("/base/org/implementClearDeptDirectorCom")
    public OkrResult<ImplementClearDeptDirectorComRespDto> implementClearDeptDirectorCom(ImplementClearDeptDirectorComReqDto reqDTO);
/**
   * D1批量查询部门(公共)
   */
    @PostMapping("/base/org/batchQueryDeptCom")
    public OkrResult<BatchQueryDeptComRespDto> batchQueryDeptCom(BatchQueryDeptComReqDto reqDTO);
/**
   * D1获取部门管理员及正副职(公共)
   */
    @PostMapping("/base/org/obtainDeptAdminAndDeputyCom")
    public OkrResult<ObtainDeptAdminAndDeputyComRespDto> obtainDeptAdminAndDeputyCom(ObtainDeptAdminAndDeputyComReqDto reqDTO);
/**
   * D1查部门管理员及正副职(公共)
   */
    @PostMapping("/base/org/queryDeptAdminAndDeputyListCom")
    public OkrResult<QueryDeptAdminAndDeputyListComRespDto> queryDeptAdminAndDeputyListCom(QueryDeptAdminAndDeputyListComReqDto reqDTO);
/**
   * D1-查询部门列表ByCode(公共)
   */
    @PostMapping("/base/org/queryDeptByCodeListCom")
    public OkrResult<QueryDeptByCodeListComRespDto> queryDeptByCodeListCom(QueryDeptByCodeListComReqDto reqDTO);
/**
   * D1执行设备获取组织个人信息(公共)
   */
    @PostMapping("/base/org/implementDeviceAcquisitionOrgPersonalInfoCom")
    public OkrResult<ImplementDeviceAcquisitionOrgPersonalInfoComRespDto> implementDeviceAcquisitionOrgPersonalInfoCom(ImplementDeviceAcquisitionOrgPersonalInfoComReqDto reqDTO);
/**
   * D1-2查询中基层部门详情(公共)
   */
    @PostMapping("/base/org/queryMidBaseCourseDetailCom")
    public OkrResult<QueryMidBaseCourseDetailComRespDto> queryMidBaseCourseDetailCom(QueryMidBaseCourseDetailComReqDto reqDTO);
/**
   * D1获取就职部门的业务身份(公共)
   */
    @PostMapping("/base/org/obtainAssumeDeptBusinessIdentityCom")
    public OkrResult<ObtainAssumeDeptBusinessIdentityComRespDto> obtainAssumeDeptBusinessIdentityCom(ObtainAssumeDeptBusinessIdentityComReqDto reqDTO);
/**
   * D1-3批量查询一级部门(公共)
   */
    @PostMapping("/base/org/batchQueryOneLevelDeptCom")
    public OkrResult<BatchQueryOneLevelDeptComRespDto> batchQueryOneLevelDeptCom(BatchQueryOneLevelDeptComReqDto reqDTO);
/**
   * D1模糊查部门列表(公共)
   */
    @PostMapping("/base/org/queryLikeDeptCom")
    public OkrResult<QueryLikeDeptComRespDto> queryLikeDeptCom(QueryLikeDeptComReqDto reqDTO);
/**
   * D1查询本级及下级部门列表(公共)
   */
    @PostMapping("/base/org/queryCurrentAndSubDeptListCom")
    public OkrResult<QueryCurrentAndSubDeptListComRespDto> queryCurrentAndSubDeptListCom(QueryCurrentAndSubDeptListComReqDto reqDTO);
    //
}
